home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / RCS / vmStat.h,v < prev    next >
Encoding:
Text File  |  1992-02-14  |  13.0 KB  |  572 lines

  1. head     8.4;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:8.4.1 newlib:8.0 Summer88:6.0;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 8.4
  10. date     91.03.04.16.09.28;  author kupfer;  state Exp;
  11. branches 8.4.1.1;
  12. next     8.3;
  13.  
  14. 8.3
  15. date     89.06.16.13.17.00;  author rab;  state Exp;
  16. branches ;
  17. next     8.2;
  18.  
  19. 8.2
  20. date     89.04.14.03.42.01;  author rab;  state Exp;
  21. branches ;
  22. next     8.1;
  23.  
  24. 8.1
  25. date     89.04.14.03.09.42;  author rab;  state Exp;
  26. branches ;
  27. next     8.0;
  28.  
  29. 8.0
  30. date     88.11.11.18.42.32;  author douglis;  state Stable;
  31. branches ;
  32. next     6.0;
  33.  
  34. 6.0
  35. date     88.08.11.12.29.42;  author brent;  state Stable;
  36. branches ;
  37. next     5.12;
  38.  
  39. 5.12
  40. date     88.08.05.10.22.06;  author ouster;  state Exp;
  41. branches ;
  42. next     5.11;
  43.  
  44. 5.11
  45. date     88.06.20.17.54.39;  author nelson;  state Exp;
  46. branches ;
  47. next     5.10;
  48.  
  49. 5.10
  50. date     88.01.08.15.52.40;  author nelson;  state Exp;
  51. branches ;
  52. next     5.9;
  53.  
  54. 5.9
  55. date     88.01.06.16.28.58;  author nelson;  state Exp;
  56. branches ;
  57. next     5.8;
  58.  
  59. 5.8
  60. date     88.01.04.14.00.22;  author nelson;  state Exp;
  61. branches ;
  62. next     5.7;
  63.  
  64. 5.7
  65. date     87.12.31.11.08.51;  author nelson;  state Exp;
  66. branches ;
  67. next     5.6;
  68.  
  69. 5.6
  70. date     87.12.15.18.52.55;  author nelson;  state Exp;
  71. branches ;
  72. next     5.5;
  73.  
  74. 5.5
  75. date     87.12.15.18.23.38;  author nelson;  state Exp;
  76. branches ;
  77. next     5.4;
  78.  
  79. 5.4
  80. date     87.11.18.21.50.56;  author nelson;  state Exp;
  81. branches ;
  82. next     5.3;
  83.  
  84. 5.3
  85. date     87.10.16.15.39.42;  author nelson;  state Exp;
  86. branches ;
  87. next     5.2;
  88.  
  89. 5.2
  90. date     87.10.14.15.34.39;  author nelson;  state Exp;
  91. branches ;
  92. next     5.1;
  93.  
  94. 5.1
  95. date     87.10.08.13.00.11;  author nelson;  state Exp;
  96. branches ;
  97. next     5.0;
  98.  
  99. 5.0
  100. date     87.08.11.10.52.18;  author sprite;  state Exp;
  101. branches ;
  102. next     ;
  103.  
  104. 8.4.1.1
  105. date     92.02.13.19.11.07;  author kupfer;  state Exp;
  106. branches ;
  107. next     ;
  108.  
  109.  
  110. desc
  111. @@
  112.  
  113.  
  114. 8.4
  115. log
  116. @Don't count quick faults in the per-segment counts.
  117. @
  118. text
  119. @/*
  120.  * vmStat.h --
  121.  *
  122.  *    The statistics structure for the vm module.
  123.  *
  124.  * Copyright (C) 1986 Regents of the University of California
  125.  * All rights reserved.
  126.  *
  127.  *
  128.  * $Header: /sprite/src/lib/include/RCS/vmStat.h,v 8.3 89/06/16 13:17:00 rab Exp Locker: kupfer $ SPRITE (Berkeley)
  129.  */
  130.  
  131. #ifndef _VMSTAT
  132. #define _VMSTAT
  133.  
  134. #ifdef KERNEL
  135. #include "vmMachStat.h"
  136. #else
  137. #include <kernel/vmMachStat.h>
  138. #endif
  139.  
  140.  
  141. /*---------------------------------------------------------------------*/
  142.  
  143. /*
  144.  * Virtual memory statistics structure.
  145.  */
  146.  
  147. typedef struct {
  148.     int    numPhysPages;        /* The number of physical pages available. */
  149.     /*
  150.      * Different types of pages
  151.      */
  152.     int    numFreePages;        /* Number of pages on the free list. */
  153.     int    numDirtyPages;        /* Number of pages on the dirty list. */
  154.     int    numReservePages;    /* Number of pages held in reserve for the
  155.                  * kernel. */
  156.     int    numUserPages;        /* Number of pages on the allocate list.  Each
  157.                  * of these pages must be used by user
  158.                  * processes. */
  159.     int    kernStackPages;        /* Number of pages allocated to the kernel.*/
  160.     int kernMemPages;        /* Number of pages allocated to kernel code
  161.                  * + data. */
  162.     /*
  163.      * Page fault statistics.
  164.      */
  165.     int    totalFaults;        /* The total number of page faults that have
  166.                    occured. */
  167.     int    totalUserFaults;    /* The total number of page faults that have
  168.                    occured because of a user bus error. */
  169.     int    zeroFilled;        /* Page faults that were satisfied by zero
  170.                    filling the page. */
  171.     int    fsFilled;        /* Page faults that were satisifed by reading
  172.                    in from the file system. */
  173.     int    psFilled;        /* Page faults that were satisfied by reading
  174.                    in from the page server. */
  175.     int    collFaults;        /* Page faults that collided with another page
  176.                    fault in progress on the same page. */
  177.     int    quickFaults;        /* Page faults that were satisfied by just
  178.                    revalidating the page. */
  179.     int    codeFaults;        /* Code segment faults, ignoring quickFaults.*/
  180.     int    heapFaults;        /* Heap segment faults, ignoring quickFaults.*/
  181.     int    stackFaults;        /* Stack segm't faults, ignoring quickFaults.*/
  182.     /*
  183.      * Page allocation stats.
  184.      */
  185.     int    numAllocs;        /* Total number of page allocations. */
  186.     int    gotFreePage;        /* Number of allocations by using a free page.*/
  187.     int    pageAllocs;        /* Calls to internal page allocator. */
  188.     int    gotPageFromFS;        /* Number of allocations satisfied by 
  189.                  * stealing a page from the file system. */
  190.     int    numListSearches;    /* Number of allocations that actually search
  191.                  * the allocation list. */
  192.     int    usedFreePage;        /* List searches satisfied with free page. */
  193.     int    lockSearched;        /* Number of locked pages encountered 
  194.                  * while searching list. */
  195.     int    refSearched;        /* Number of referenced pages encountered 
  196.                  * while searching list. */
  197.     int    dirtySearched;        /* Number of dirty pages encountered 
  198.                  * while searching list. */
  199.     int    reservePagesUsed;    /* The number of pages held in reserve that */
  200.  
  201.     /*
  202.      * Dirty page statistics.
  203.      */
  204.     int    pagesWritten;        /* The number of pages that were written out
  205.                    to the page server. */
  206.     int    cleanWait;        /* The number of times that a segment being 
  207.                    cleaned has to wait for a page to finish
  208.                    being cleaned. */
  209.     int    pageoutWakeup;        /* The number of times that the pageout daemon
  210.                    wakes up. */
  211.  
  212.     int    pageoutNoWork;        /* The number of times that the pageout daemon
  213.                    woke up and there was nothing to do. */
  214.     int pageoutWait;        /* The number of times that a process has to
  215.                    wait for the pageout daemon to finish 
  216.                    because too many pages were dirty. */
  217.     /*
  218.      * Page mapping statistics.
  219.      */
  220.     int    mapPageWait;        /* The number of times that have to wait 
  221.                    because of run out of entries to map 
  222.                    pages. */
  223.     int    accessWait;        /* The number of times that have to wait
  224.                    because of run out of entries to make
  225.                    pages accessible. */
  226.     /*
  227.      * Machine dependent statistics.
  228.      */
  229.     VmMachDepStat    machDepStat;
  230.     /*
  231.      * The minimum number of virtual memory pages
  232.      * that the system guarantees itself. 
  233.      */
  234.     int    minVMPages;
  235.     /*
  236.      * File system mapping stats.
  237.      */
  238.     int    fsAsked;        /* The number of times that the file system
  239.                  * asked us for our reference time. */
  240.     int    haveFreePage;        /* We have a free page when fs asks us for the
  241.                  * reference time. */
  242.     int    fsMap;            /* The number of pages that the file system
  243.                  * got from us. */
  244.     int    fsUnmap;        /* The number of pages that the file system
  245.                  * returned to us. */
  246.     int    maxFSPages;        /* The maximum number of pages given to the
  247.                  * file system. */
  248.     int    minFSPages;        /* The minimum number of pages given to the 
  249.                  * file system. */
  250.     /*
  251.      * Copy-on-write info.
  252.      */
  253.     int    numCOWHeapPages;    /* Heap pages that were made copy-on-write. */
  254.     int    numCOWStkPages;        /* Stack pages that were made copy-on-write. */
  255.     int numCORHeapPages;    /* Heap pages that were made copy-on-ref. */
  256.     int numCORStkPages;        /* Stack pages that were made copy-on-ref. */
  257.     int    numCOWHeapFaults;    /* Heap copy-on-write faults. */
  258.     int    numCOWStkFaults;    /* Stack copy-on-write faults. */
  259.     int    quickCOWFaults;        /* COW faults that were unnecessary. */
  260.     int numCORHeapFaults;    /* Heap copy-on-ref faults. */
  261.     int numCORStkFaults;    /* Stack copy-on-ref faults. */
  262.     int    quickCORFaults;        /* COR faults that were unnecessary. */
  263.     int swapPagesCopied;    /* The number of swap file page copies. */
  264.     int    numCORCOWHeapFaults;    /* Number of copy-on-reference heap pages that
  265.                  * get modified after they are copied. */
  266.     int    numCORCOWStkFaults;    /* Number of copy-on-reference stack pages that
  267.                  * get modified after they are copied. */
  268.     /*
  269.      * Recycled potentially modified page stats.
  270.      */
  271.     int    potModPages;        /* Number of pages that came to the front of
  272.                  * the LRU list, were writeable but were not
  273.                  * modified. */
  274.     int    notModPages;        /* Pages out of potModPages that were never
  275.                  * modified in software or hardware. */
  276.     int    notHardModPages;    /* Pages out of potModPages that were never
  277.                  * modified in hardware. */
  278.     /*
  279.      * Prefetch stats.
  280.      */
  281.     int    codePrefetches;        /* Number of prefetches of code. */
  282.     int    heapSwapPrefetches;    /* Number of prefetches of heap from swap. */
  283.     int    heapFSPrefetches;    /* Number of heap prefetches from the object 
  284.                  * file. */
  285.     int    stackPrefetches;    /* Number of prefetches that hit from the
  286.                  * stack swap file. */
  287.     int    codePrefetchHits;    /* Number of code prefetches that hit. */
  288.     int    heapSwapPrefetchHits;    /* Number of heap prefetches from swap that
  289.                  * hit. */
  290.     int    heapFSPrefetchHits;    /* Number of heap prefetches from the object
  291.                  * file that hit. */
  292.     int    stackPrefetchHits;    /* Number of stack prefetches from swap that
  293.                  * hit. */
  294.     int    prefetchAborts;        /* Number of prefetches aborted because there
  295.                      * is no memory available. */
  296.  
  297. } Vm_Stat;
  298.  
  299. extern    Vm_Stat    vmStat;
  300. #endif /* _VMSTAT */
  301. @
  302.  
  303.  
  304. 8.4.1.1
  305. log
  306. @Initial branch for Sprite server.
  307. @
  308. text
  309. @d10 1
  310. a10 1
  311.  * $Header: /sprite/src/lib/include/RCS/vmStat.h,v 8.4 91/03/04 16:09:28 kupfer Exp $ SPRITE (Berkeley)
  312. @
  313.  
  314.  
  315. 8.3
  316. log
  317. @*** empty log message ***
  318. @
  319. text
  320. @d10 1
  321. a10 1
  322.  * $Header: /sprite/src/lib/include/RCS/vmStat.h,v 8.2 89/04/14 03:42:01 rab Exp Locker: rab $ SPRITE (Berkeley)
  323. d61 3
  324. a63 3
  325.     int    codeFaults;        /* Code segment faults. */
  326.     int    heapFaults;        /* Heap segment faults. */
  327.     int    stackFaults;        /* Stack segment faults. */
  328. @
  329.  
  330.  
  331. 8.2
  332. log
  333. @Missing comment delimiter.
  334. @
  335. text
  336. @d10 1
  337. a10 1
  338.  * $Header: /sprite/src/lib/include/RCS/vmStat.h,v 8.1 89/04/14 03:09:42 rab Exp Locker: rab $ SPRITE (Berkeley)
  339. @
  340.  
  341.  
  342. 8.1
  343. log
  344. @*** empty log message ***
  345. @
  346. text
  347. @d10 1
  348. a10 1
  349.  * $Header: /sprite/src/lib/include/RCS/vmStat.h,v 8.0 88/11/11 18:42:32 douglis Stable Locker: rab $ SPRITE (Berkeley)
  350. d81 2
  351. a82 2
  352.     int    reservePagesUsed;    /* The number of pages held in reserve that
  353.     
  354. @
  355.  
  356.  
  357. 8.0
  358. log
  359. @Changing version numbers.
  360. @
  361. text
  362. @d10 1
  363. a10 1
  364.  * $Header: /sprite/src/kernel/vm/RCS/vmStat.h,v 6.0 88/08/11 12:29:42 brent Stable Locker: douglis $ SPRITE (Berkeley)
  365. d182 1
  366. a182 1
  367. #endif _VMSTAT
  368. @
  369.  
  370.  
  371. 6.0
  372. log
  373. @Changing version numbers.
  374. @
  375. text
  376. @d10 1
  377. a10 1
  378.  * $Header: vmStat.h,v 5.12 88/08/05 10:22:06 ouster Exp $ SPRITE (Berkeley)
  379. @
  380.  
  381.  
  382. 5.12
  383. log
  384. @Change includes to permit use by new user-level programs.
  385. @
  386. text
  387. @d10 1
  388. a10 1
  389.  * $Header: vmStat.h,v 5.11 88/06/20 17:54:39 nelson Exp $ SPRITE (Berkeley)
  390. @
  391.  
  392.  
  393. 5.11
  394. log
  395. @Added tracing stuff.
  396. @
  397. text
  398. @d10 1
  399. a10 1
  400.  * $Header: vmStat.h,v 5.10 88/01/08 15:52:40 nelson Exp $ SPRITE (Berkeley)
  401. d16 1
  402. d18 3
  403. @
  404.  
  405.  
  406. 5.10
  407. log
  408. @Added prefetch.
  409. @
  410. text
  411. @a5 3
  412.  * This needs to be fixed... The machine dependent stuff shouldn't
  413.  * have to appear in this file.
  414.  *
  415. d10 1
  416. a10 1
  417.  * $Header: vmStat.h,v 5.9 88/01/06 16:28:58 nelson Exp $ SPRITE (Berkeley)
  418. d16 1
  419. a16 10
  420. /*
  421.  * Statistics about Sun virtual memory.
  422.  */
  423.  
  424. typedef struct {
  425.     int    stealContext;        /* The number of times that have to take
  426.                    a context away from a process. */
  427.     int    stealPmeg;        /* The number of times that have to take a
  428.                    pmeg away from a process. */
  429. } VmMachDepStat;
  430. @
  431.  
  432.  
  433. 5.9
  434. log
  435. @Added tracking of potentially modified pages when allocated.
  436. @
  437. text
  438. @d13 1
  439. a13 1
  440.  * $Header: vmStat.h,v 5.8 88/01/04 14:00:22 nelson Exp $ SPRITE (Berkeley)
  441. d143 6
  442. a148 5
  443.     int    numCOWPages;        /* The number pages that were made 
  444.                  * copy-on-write. */
  445.     int numCORPages;        /* The number pages that were made 
  446.                  * copy-on-reference. */
  447.     int    numCOWFaults;        /* The number of copy-on-write faults. */
  448. d150 2
  449. a151 1
  450.     int numCORFaults;        /* The number of copy-on-reference faults. */
  451. d154 1
  452. a154 1
  453.     int    numCORCOWFaults;    /* Number of copy-on-reference pages that
  454. d156 2
  455. d168 19
  456. @
  457.  
  458.  
  459. 5.8
  460. log
  461. @Added ability to measure the number of copy-on-ref pages that eventually
  462. got modified.
  463. @
  464. text
  465. @d13 1
  466. a13 1
  467.  * $Header: vmStat.h,v 5.7 87/12/31 11:08:51 nelson Exp $ SPRITE (Berkeley)
  468. d154 10
  469. @
  470.  
  471.  
  472. 5.7
  473. log
  474. @Added min and max sizes for the FS cache.
  475. @
  476. text
  477. @d13 1
  478. a13 1
  479.  * $Header: vmStat.h,v 5.6 87/12/15 18:52:55 nelson Exp $ SPRITE (Berkeley)
  480. d152 2
  481. @
  482.  
  483.  
  484. 5.6
  485. log
  486. @Removed bogus field in stat structure.
  487. @
  488. text
  489. @d13 1
  490. a13 1
  491.  * $Header: vmStat.h,v 5.5 87/12/15 18:23:38 nelson Exp $ SPRITE (Berkeley)
  492. d136 4
  493. @
  494.  
  495.  
  496. 5.5
  497. log
  498. @Added ability to determine the number of dirty pages.
  499. @
  500. text
  501. @d13 1
  502. a13 1
  503.  * $Header: vmStat.h,v 5.4 87/11/18 21:50:56 nelson Exp $ SPRITE (Berkeley)
  504. a147 5
  505.     /*
  506.      * The number of dirty pages.  Set by the call to 
  507.      * Vm_Cmd(VM_COUNT_DIRTY_PAGES, 0).
  508.      */
  509.     int    numModifiedPages;
  510. @
  511.  
  512.  
  513. 5.4
  514. log
  515. @Copy-on-write
  516. @
  517. text
  518. @d13 1
  519. a13 1
  520.  * $Header: vmStat.h,v 5.3 87/10/16 15:39:42 nelson Exp $ SPRITE (Berkeley)
  521. d148 5
  522. @
  523.  
  524.  
  525. 5.3
  526. log
  527. @More and better stats.
  528. @
  529. text
  530. @d13 1
  531. a13 1
  532.  * $Header: vmStat.h,v 5.2 87/10/14 15:34:39 nelson Exp $ SPRITE (Berkeley)
  533. d136 12
  534. @
  535.  
  536.  
  537. 5.2
  538. log
  539. @Added the swap file directory stream pointer.
  540. @
  541. text
  542. @d13 1
  543. a13 1
  544.  * $Header: vmStat.h,v 5.1 87/10/08 13:00:11 nelson Exp $ SPRITE (Berkeley)
  545. d38 1
  546. d49 3
  547. @
  548.  
  549.  
  550. 5.1
  551. log
  552. @Added enforcing a minimum amount of memory for the virtual memory system.
  553. @
  554. text
  555. @d13 1
  556. a13 1
  557.  * $Header: vmStat.h,v 5.0 87/08/11 10:52:18 sprite Exp $ SPRITE (Berkeley)
  558. d121 11
  559. @
  560.  
  561.  
  562. 5.0
  563. log
  564. @First Sprite native copy
  565. @
  566. text
  567. @d13 1
  568. a13 1
  569.  * $Header: vmStat.h,v 4.1 87/05/15 14:14:54 nelson Exp $ SPRITE (Berkeley)
  570. d116 5
  571. @
  572.